#include_next
is a gcc-specific language extension that alters the search path for the specified header file by starting the search
from the header file directory after the one in which the directive was encountered. It also ignores the distinction between
"file"
and <file>
. It is typically used when you have two (probably related) header files with the same name, although
there is nothing in the extension to enforce or limit the use to same-name files.
Use of this extension can be tricky to get right, and is almost never justified. Instead, you should use an absolute path in the
#include
statement or rename one of the files.
Noncompliant code example
#include_next "foo.h" // Noncompliant
Compliant solution
#include "/usr/local/include/foo.h"